import {NgModule} from '@angular/core';
import {CommonModule, DatePipe} from '@angular/common';
import {DemoNgZorroAntdModule} from '../../NG-ZORRO/ng-zorro-antd.module';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {NzIconModule} from 'ng-zorro-antd/icon';
import {AlertFill} from '@ant-design/icons-angular/icons';

import {LoveRecycManageRoutingModule} from './love-recyc-manage-routing.module';

import {IconDefinition} from '@ant-design/icons-angular';

const icons: IconDefinition[] = [AlertFill];
import {AssessPriceTemplateComponent} from './assess/assess-price-template/assess-price-template.component';
import {PreviewAssessPriceTemplateComponent} from './assess/preview-assess-price-template/preview-assess-price-template.component';
import {AssessPriceTemplateListComponent} from './assess/assess-price-template-list/assess-price-template-list.component';
import {AssessTypeManageListComponent} from './assess/assess-type-manage-list/assess-type-manage-list.component';
import {AssessTypeManageComponent} from './assess/assess-type-manage/assess-type-manage.component';

import {LoveBrandConfigComponent} from './love-brand-config/love-brand-config.component';
import {LoveSeriesConfigComponent} from './love-series-config/love-series-config.component';
import {LoveModelConfigComponent} from './love-model-config/love-model-config.component';
import {LoveClassSelectComponent} from './love-class-select/love-class-select.component';
import {LoveModelSelectComponent} from './love-model-select/love-model-select.component';
import {LoveModselectAddComponent} from './love-modselect-add/love-modselect-add.component';
import {PreviewAssessTypeComponent} from './assess/preview-assess-type/preview-assess-type.component';
import {PreviewAssessTypeCopyComponent} from './components/preview-assess-type/preview-assess-type.component';
import {LeavePageGuard} from './leave-page.guard';
import {LoveOrderManageComponent} from './love-order-manage/love-order-manage.component';
import {LoveOrderDetailsComponent} from './love-order-details/love-order-details.component';
import {NzCarouselModule} from 'ng-zorro-antd/carousel';
import {PreviewOptionImgRemarkComponent} from './assess/preview-option-img-remark/preview-option-img-remark.component';
import {UserInfoModalComponent} from './components/user-info-modal/user-info-modal.component';
import {InspectionMachineListComponent} from './inspection-machine-list/inspection-machine-list.component';
import {InspectedMachineComponent} from './inspected-machine/inspected-machine.component';
import {
  MachineResultPipe,
  OrderStatePipe,
  MachineInspectionStatusPipe,
  LoveLuckDrawStatusPipe,
  LovePrizeTypePipe,
  LoveRecoveryActstatusPipe,
  LoveRecoveryGivestatusPipe
} from './love-recyc-manage.pipe';
import {
  MakeupCouponStatusPipe,
  UserCouponStatusPipe,
  MakeupDescentListStatusPipe,
  WinPrizeStatusPipe
} from './recyc-market-manage/recyc-market-manage.pipe';
import {QuestionManageComponent} from './assess/question-manage/question-manage.component';
import {QuestionEditComponent} from './assess/question-edit/question-edit.component';
import {LoveHotSearchComponent} from './love-hot-search/love-hot-search.component';
import {sharedModule} from '../../sharedModule/shared.module';
import {InspectedMachineEditComponent} from './inspected-machine-edit/inspected-machine-edit.component';
import {UploadImgsComponent} from './components/upload-imgs/upload-imgs.component';
import {TagsAddComponent} from './components/tags-add/tags-add.component';
import {PrintModule} from '../used-store/out-store/out-store-list/print/print.module';
import {LoveMakeupCouponComponent} from './recyc-market-manage/love-makeup-coupon/love-makeup-coupon.component';
import {LoveUserMakeupCouponComponent} from './recyc-market-manage/love-user-makeup-coupon/love-user-makeup-coupon.component';
import {LoveMakeupCouponEditComponent} from './recyc-market-manage/love-makeup-coupon-edit/love-makeup-coupon-edit.component';
import {LoveMakeupCouponDetailsComponent} from './recyc-market-manage/love-makeup-coupon-details/love-makeup-coupon-details.component';
import {LoveMakeupPromotionComponent} from './recyc-market-manage/love-makeup-promotion/love-makeup-promotion.component';
import {LoveMakeupPromotionEditComponent} from './recyc-market-manage/love-makeup-promotion-edit/love-makeup-promotion-edit.component';
import {LoveMakeupPromotionDetailsComponent} from './recyc-market-manage/love-makeup-promotion-details/love-makeup-promotion-details.component';
import {LoveMakeupRecordComponent} from './recyc-market-manage/love-makeup-record/love-makeup-record.component';
import {ModelSelectTreeComponent} from './recyc-market-manage/components/model-select-tree/model-select-tree.component';
import {ManualReleaseModalComponent} from './recyc-market-manage/components/manual-release-modal/manual-release-modal.component';
import {MakeupSetupModalComponent} from './components/makeup-setup-modal/makeup-setup-modal.component';
import {LoveMakeupAwardPrizesComponent} from './recyc-market-manage/love-makeup-award-prizes/love-makeup-award-prizes.component';
import {LoveLuckdrawListComponent} from './luck-draw-manage/love-luckdraw-list/love-luckdraw-list.component';
import {LoveLuckdrawEditComponent} from './luck-draw-manage/love-luckdraw-edit/love-luckdraw-edit.component';
import {LoveLuckdrawRecordComponent} from './luck-draw-manage/love-luckdraw-record/love-luckdraw-record.component';
import {ModelBasePriceComponent} from './basePrice/model-base-price/model-base-price.component';
import {ModelBasePriceEditComponent} from './basePrice/model-base-price-edit/model-base-price-edit.component';
import { LoveSendIdolListComponent } from './love-send-idol-manage/love-send-idol-list/love-send-idol-list.component';
import { LoveSendIdolEditComponent } from './love-send-idol-manage/love-send-idol-edit/love-send-idol-edit.component';
import { LoveSendIdolDetailsComponent } from './love-send-idol-manage/love-send-idol-details/love-send-idol-details.component';
import { RecycleGiveIdouComponent } from './recycle-give-idou/recycle-give-idou.component';

// Pipes
const loveRecycManagePipes = [
  MachineResultPipe,
  OrderStatePipe,
  MachineInspectionStatusPipe,
  MakeupCouponStatusPipe,
  UserCouponStatusPipe,
  MakeupDescentListStatusPipe,
  WinPrizeStatusPipe,
  LoveLuckDrawStatusPipe,
  LovePrizeTypePipe,
  LoveRecoveryActstatusPipe,
  LoveRecoveryGivestatusPipe
];

@NgModule({
  declarations: [
    ...loveRecycManagePipes,
    AssessPriceTemplateComponent,
    PreviewAssessPriceTemplateComponent,
    AssessPriceTemplateListComponent,
    AssessTypeManageListComponent,
    AssessTypeManageComponent,
    LoveBrandConfigComponent,
    LoveSeriesConfigComponent,
    LoveModelConfigComponent,
    LoveClassSelectComponent,
    LoveModelSelectComponent,
    LoveModselectAddComponent,
    PreviewAssessTypeComponent,
    PreviewAssessTypeCopyComponent,
    LoveOrderManageComponent,
    LoveOrderDetailsComponent,
    PreviewOptionImgRemarkComponent,
    UserInfoModalComponent,
    InspectionMachineListComponent,
    InspectedMachineComponent,
    QuestionManageComponent,
    QuestionEditComponent,
    LoveHotSearchComponent,
    InspectedMachineEditComponent,
    UploadImgsComponent,
    TagsAddComponent,
    LoveMakeupCouponComponent,
    LoveUserMakeupCouponComponent,
    LoveMakeupCouponEditComponent,
    LoveMakeupCouponDetailsComponent,
    LoveMakeupPromotionComponent,
    LoveMakeupPromotionEditComponent,
    LoveMakeupPromotionDetailsComponent,
    LoveMakeupRecordComponent,
    ModelSelectTreeComponent,
    ManualReleaseModalComponent,
    MakeupSetupModalComponent,
    LoveMakeupAwardPrizesComponent,
    LoveLuckdrawListComponent,
    LoveLuckdrawEditComponent,
    LoveLuckdrawRecordComponent,
    ModelBasePriceComponent,
    ModelBasePriceEditComponent,
    LoveSendIdolListComponent,
    LoveSendIdolEditComponent,
    LoveSendIdolDetailsComponent,
    RecycleGiveIdouComponent
  ],
  imports: [
    CommonModule,
    DemoNgZorroAntdModule,
    FormsModule,
    ReactiveFormsModule,
    NzIconModule.forRoot(icons),
    LoveRecycManageRoutingModule,
    sharedModule,
    PrintModule
  ],
  providers: [LeavePageGuard, DatePipe]
})
export class LoveRecycManageModule {
}
